export interface PageForm {
  modelName: string
  labelIds: number | string
  columns: 'updateTime' | 'createTime'
  order: 'desc' | 'asc'
}

/**
 * 查询结果记录
 *
 * CommonModelVO
 */
export interface RecordListItem {
  /**
   * 标签信息
   */
  commonModelLabelVOList?: CommonModelLabelVO[] | null
  /**
   * 创建时间
   */
  createTime?: null | string
  /**
   * 模型描述
   */
  description?: null | string
  /**
   * 文档地址
   */
  docUrl: string
  /**
   * 代码层级结构
   */
  fileTree?: FileTree
  /**
   * 唯一标识
   */
  id: string
  /**
   * 是否被收藏
   */
  isFavorite?: boolean | null
  /**
   * 模型名称
   */
  modelName: string
  /**
   * 模型大小
   */
  modelSize?: number | null
  /**
   * 模型代码地址
   */
  sourceUrl: string
  /**
   * 1：正常，0：删除
   */
  status?: number | null
  /**
   * 更新时间
   */
  updateTime?: null | string
}

/**
 * CommonModelLabelVO
 */
export interface CommonModelLabelVO {
  /**
   * 公共模型id
   */
  commonModelId?: number | null
  id?: number | null
  /**
   * 标签id
   */
  labelId?: number | null
  /**
   * 标签名称
   */
  labelName?: null | string
}

/**
 * 代码层级结构
 *
 * FileTree
 */
export interface FileTree {
  /**
   * 子文件集合
   */
  childList?: FileTree[] | null
  /**
   * 是否为文件夹
   */
  isDir?: boolean | null
  /**
   * 文件名
   */
  name?: null | string
  /**
   * 文件路径
   */
  path?: null | string
}

/**
 * ProjectLabelInfoVO
 */
export interface ProjectLabelInfoVO {
  /**
   * 唯一标识
   */
  id: number
  /**
   * 分类id
   */
  labelIds?: number | null
  /**
   * 分类名称
   */
  labelName?: null | string
  /**
   * 项目id
   */
  projectId?: number | null
}

/**
 * FileTree
 *
 * com.glasssix.spa.model.api.vo.FileTree
 */
export interface FileTree {
  /**
   * 子文件集合
   */
  childList?: FileTree[] | null
  /**
   * 是否为文件夹
   */
  isDir?: boolean | null
  /**
   * 文件名
   */
  name?: null | string
  /**
   * 文件路径
   */
  path?: null | string
}
/**
 * DictionaryVO
 */
export interface DictionaryType {
  /**
   * 主动创建时间
   */
  createTime?: string
  /**
   * 主键id
   */
  id?: number
  /**
   * 存储值，例如：1、2、3...
   */
  k?: number
  /**
   * 父id，例如：二级联动
   */
  pid?: number
  /**
   * 备注
   */
  remark?: string
  /**
   * 排序值
   */
  sort?: number
  /**
   * 字典类型，例如：个性标签、服务类型...
   */
  type?: string
  /**
   * 被动更新时间
   */
  updateTime?: string
  /**
   * 显示值，例如：创建中、完成...
   */
  v?: string
}
interface ParametersVO {
  paramName: string
  paramValue: any
  canDelete?: boolean
}
export interface Form {
  modelName: string
  labelIds: string[]
  imageId: string | undefined
  frame: string
  runCommand: string
  runParams: ParametersVO[]
  requestType: string | undefined
  inputParams: ParametersVO[]
  outputParams: ParametersVO[]
  description?: string
  docUrl: string
  sourceUrl: string
  modelSize?: number
  updateTime?: string
  modelFileUrl?: string
}
export interface TaskStatus {
  labelName: string
  labelIds: number | string
}

export interface CaseDetailsType {
  /**
   * 创建时间
   */
  createTime?: null | string
  /**
   * 数据集名称
   */
  dataFileName?: null | string
  /**
   * 项目数据集地址
   */
  dataUrl?: null | string
  /**
   * 压缩包文件预览地址
   */
  dataUrls?: string[] | null
  /**
   * 项目描述
   */
  description?: null | string
  /**
   * 项目id
   */
  id?: number | null
  /**
   * 项目介绍文件pdf地址
   */
  introducePDFUrl: string
  /**
   * 项目介绍文件地址
   */
  introduceUrl?: null | string
  /**
   * 分类信息
   */
  projectLabelInfoVOS?: ProjectLabelInfoVO[] | null
  /**
   * 项目名称
   */
  projectName?: null | string
  sourceInfo?: FileTree
  /**
   * 源代码地址
   */
  sourceUrl?: null | string
  /**
   * 更新时间
   */
  updateTime?: null | string
}
export interface ModelDetailsType {
  /**
   * 标签信息
   */
  commonModelLabelVOList: CommonModelLabelVO[]
  /**
   * CPU
   */
  cpu: number
  /**
   * 创建时间
   */
  createTime: string
  /**
   * 模型描述
   */
  description?: null | string
  /**
   * 文档名称
   */
  docName: string
  /**
   * 文档pdf访问地址
   */
  docPdfUrl: string
  /**
   * 文档地址
   */
  docUrl: string
  fileTree: string
  /**
   * 框架
   */
  frame: string
  /**
   * GPU
   */
  gpu: number
  /**
   * 数据编号
   */
  id: string
  /**
   * 镜像名称
   */
  imageName: string
  /**
   * 输入参数
   */
  inputParams: ParametersVO[]
  /**
   * 是否被收藏
   */
  isFavorite: boolean
  /**
   * 内存
   */
  memory: number
  /**
   * 模型文件地址
   */
  modelFileUrl?: string
  /**
   * 模型名称
   */
  modelName: string
  /**
   * 模型大小
   */
  modelSize: number
  /**
   * 输出参数
   */
  outputParams: ParametersVO[]
  /**
   * 请求方式
   */
  requestType: string
  /**
   * 运行命令
   */
  runCommand: string
  /**
   * 运行参数
   */
  runParams?: ParametersVO[]
  /**
   * 模型代码名称
   */
  sourceName: string
  /**
   * 模型代码地址
   */
  sourceUrl: string
  /**
   * 更新时间
   */
  updateTime: string
}

/**
 * CommonModelLabelVO
 */
export interface CommonModelLabelVO {
  /**
   * 公共模型id
   */
  commonModelId?: number | null
  id?: number | null
  /**
   * 标签id
   */
  labelIds?: number | null
  /**
   * 标签名称
   */
  labelName?: null | string
}

/**
 * 代码层级结构
 *
 * FileTree
 */
export interface FileTree {
  /**
   * 子文件集合
   */
  childList?: FileTree[] | null
  /**
   * 是否为文件夹
   */
  isDir?: boolean | null
  /**
   * 文件名
   */
  name?: null | string
  /**
   * 文件路径
   */
  path?: null | string
}

/**
 * ProjectLabelInfoVO
 */
export interface ProjectLabelInfoVO {
  /**
   * 唯一标识
   */
  id: number
  /**
   * 分类id
   */
  labelIds?: number | null
  /**
   * 分类名称
   */
  labelName?: null | string
  /**
   * 项目id
   */
  projectId?: number | null
}

/**
 * FileTree
 */
export interface FileTree {
  /**
   * 子文件集合
   */
  childList?: FileTree[] | null
  /**
   * 是否为文件夹
   */
  isDir?: boolean | null
  /**
   * 文件名
   */
  name?: null | string
  /**
   * 文件路径
   */
  path?: null | string
}
